
#include <cassert>
#include <cstdlib>
#include <iostream>
#include <limits>
using namespace std;

int main() {
  cout << sizeof(long) << endl;
  int *ip;
  cout << ip << endl;

  ip = (int *)malloc(sizeof(int) * 0);
  cout << ip << endl;

  long l = 10;
  int i = l;

  cout << sizeof(int) << endl;

  cout << sizeof(std::size_t) << endl;

  cout << "int max =" << numeric_limits<int>::max() << endl;
  cout << "int min =" << numeric_limits<int>::min() << endl;

  cout << "long max =" << numeric_limits<long>::max() << endl;
  cout << "long min =" << numeric_limits<long>::min() << endl;

  int ii;
  long li = long(2147483647) + 10;
  cout << sizeof(long int) << endl;
  cout << li << endl;

  ii = l;
  cout << ii << endl;
  ii = li;
  cout << ii << endl;

  const int a{0}, b{4};
  // b = 5;
  return 0;
}